package com.owc.service.admin;

import com.owc.domain.BaseResult;
import com.owc.domain.dto.BalanceDTO;
import com.owc.domain.dto.admin.GasRecommend;
import com.owc.domain.dto.admin.MatchUserDTO;
import com.owc.domain.dto.admin.UserBeanDTO;
import com.owc.domain.dto.admin.UserDetail;
import com.owc.domain.vo.admin.QueryUser;
import com.owc.domain.vo.app.TokenVo;
import org.springframework.lang.NonNull;

import java.math.BigDecimal;
import java.util.List;

public interface UserManageService {

    BaseResult<List<UserBeanDTO>> userList(QueryUser queryUser);

    UserDetail userDetail(Long userId);

    BalanceDTO getWalletBalance(TokenVo tokenVo) throws Exception;

    GasRecommend getRecommendGas();

    String getUserEthAddress(Long userId);

    /**
     * 获取平台钱包余额
     * @param tokenId 代币ID
     */
    BalanceDTO getPlatformBalance(Long tokenId) throws Exception;

    /**
     * 匹配手机号码
     * @param phone
     * @return
     */
    MatchUserDTO getUserInfoByPhone(@NonNull String phone);
}
